package ie.lawlor.amvc.controller;

import ie.lawlor.amvc.event.EventName;


/**
 * @author brendan
 */
public abstract class ControllerEventWrapper {
	protected EventName componentEvent;
	protected EventName applicationEvent;
  protected boolean override = false;

	protected ControllerEventWrapper(){
	}
	
	
	protected ControllerEventWrapper(EventName eventName1){
		this.componentEvent = eventName1;
	}
	
	protected ControllerEventWrapper(EventName componentEvent, EventName applicationEvent){
		this.componentEvent = componentEvent;
		this.applicationEvent = applicationEvent;
	}
	
	public abstract void addToController(Controller controller);
	/**
	 * @return Returns the applicationEvent.
	 */
	public EventName getApplicationEvent() {
		return applicationEvent;
	}
	/**
	 * @param applicationEvent The applicationEvent to set.
	 */
	public void setApplicationEvent(EventName applicationEvent) {
		this.applicationEvent = applicationEvent;
	}
	/**
	 * @return Returns the componentEvent.
	 */
	public EventName getComponentEvent() {
		return componentEvent;
	}
	/**
	 * @param componentEvent The componentEvent to set.
	 */
	public void setComponentEvent(EventName componentEvent) {
		this.componentEvent = componentEvent;
	}
  
  public boolean isOverride() {
    return override;
  }
  public void setOverride(boolean override) {
    this.override = override;
  }
}